package com.learn.demo.controller;

import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.web.bind.annotation.RestController;

/**
 * WebSocket控制层
 *
 * @author banjiawei
 * @date 2021/05/18
 */
@RestController
public class WebSocketController {
    /**
     * 这里的 @MessageMapping 可以当成 @RequestMapping,
     * 当有信息(broardcast 方法中的 msg 参数即为客服端发送的信息)发送到 /sendMsg 时,
     * broadcast 方法的返回的数据就会发送到所有订阅了 /broadcast/greet 的客户端
     * 关于如何订阅 /broadcast/greet 会在之后的客户端代码看到
     * @param msg
     * @return
     */
    @MessageMapping("/sendMsg")
    @SendTo("/broadcast/greet")
    public String broadcast(String msg) {
        return msg;
    }
}
